Examining the Interaction Between Balanced Scheduling and Other Compiler Optimizations
نویسنده
چکیده
Previous work has demonstrated that balanced scheduling is able to tolerate memory latency more effectively than traditional instruction scheduling algorithms. Traditional list schedulers order instructions based on an optimistic estimate of the load latency imposed by the architecture. Therefore, they cannot respond to variations in load latencies, due to cache hits/misses or congestion in the network. In contrast, balanced scheduling schedules instructions based on an estimate of the amount of instruction-level parallelism in the program. When memory latency is uncertain, balanced scheduling can hide these latencies more effectively by exploiting the available instruction-level parallelism. In this study, we examine the interactions between balanced scheduling and two compiler optimizations (loop unrolling and locality analysis) in attempts to increase the amount of parallelism in the code available to the balanced scheduler.
منابع مشابه
A Region-Based Compilation Infrastructure
1 This project is supported by Intel Corporation and Nation Foundation of Natural Sciences 69933020. Abstract: The traditional framework for back-end compilation is based on the scope of functions, which is a natural boundary to partition an entire program for compilation. However, the sizes and structures of functions may not be the best scope for program analyses and transformations when cons...
متن کاملCode Size Aware Compilation for Real-Time Applications
Statically constructed plan of execution (POE) and aggressive instruction level parallelism (ILP) exploitation make EPIC/VLIW processors appropriate for high performance real-time systems. On the one hand, the compiler controlled POE makes the worst-case execution-time (WCET) analysis more accurate as run-time variations are minimized. On the other hand, the compiler can leverage ILP optimizati...
متن کاملEffective Instruction Scheduling With Limited Registers
Effective global instruction scheduling techniques have become an important component in modern compilers for exposing more instruction-level parallelism (ILP) and exploiting the everincreasing number of parallel function units. Effective register allocation has long been an essential component of a good compiler for reducing memory references. While instruction scheduling and register allocati...
متن کاملThe Effect of Compiler Optimizations on Pentium 4 Power Consumption
This paper examines the effect of compiler optimizations on the energy usage and power consumption of the Intel Pentium 4 processor. We measure the effects of different levels of general optimization and specific optimization. We classify general optimizations as those compiler flags which enable a set of compiler optimizations. Specific optimizations are those which can be enabled and disabled...
متن کاملChanging Interaction of Compiler and Architecture
W ith recent developments in compilation technology and architectural design, the line between traditional hardware and software roles has become increasingly blurred. The compiler can now see the processor's inner structure, which lets architects exploit sophisticated program analysis techniques to hide branch and memory access delays, for example. Processors can now implement register renamin...
متن کامل